In accessing a database, hot data having a high access frequency is usually stored in a cache storage region of the database. At the same time, the hot data may be stored in a compressed data page of the cache storage region after compression, so that more hot data is stored in the cache storage region and the hit ratio of the hot data is further increased. At present, the commonly used method is to directly write data to a compressed data page, and to compress a non-compressed data page to generate a new compressed data page only when the remaining storage space of the compressed data page is insufficient.
However, when data is written to the compressed data page using the above method, on the one hand, since the non-compressed data page is compressed to generate the new compressed data page, it will lead to a suspension of a thread writing hot data to the compressed data page, and an increase of the system overhead. On the other hand, when the generation of a new compressed data page fails, it will lead to page splitting; since page splitting needs to require a locking operation on a data structure that describes the relationship between data pages, concurrent waiting is caused and the system overhead is further increased.